Degree of closeness based on communication contents

ABSTRACT

In one example, a method may include monitoring contents of communications between a first user and a second user, determining a degree of closeness between the first user and the second user utilizing an ontological model, with the degree of closeness being based at least in part on the contents of communications between the first user and the second user, and updating the degree of closeness based at least in part on a frequency of communications between the first user and the second user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. Ser. No. 14/122,971, filed onNov. 27, 2013, which is a National Stage filing under 35 U.S.C. §371 ofPCT Ser. No. PCT/CN2012/084878, filed on Nov. 20, 2012. The disclosuresof both applications are hereby incorporated herein by reference intheir entireties.

TECHNICAL FIELD

The embodiments described herein pertain generally to analyzing a user'sonline communications with other people and/or entities to calculate arespective degree of closeness based on, at least, multi-dimensionalontological reasoning.

BACKGROUND

As subscribers utilize cloud-based services in increasingly more aspectsof their daily lives, filtering of such services or other communicationsis needed in order to keep the volume of communications on a manageablescale. With cloud-based social networks, for example, categorization ofrelationships between a respective subscriber and others may be one suchcriterion for such filtering purposes. However, the relationshipsidentified for such services may be categorized based on broadly-defineduser designations, and therefore may not reflect the true nature of therespective relationships. Thus, the services and other communicationsmay lack the efficiency and even accuracy that initially attractsubscribers to the respective services.

SUMMARY

In one example embodiment, a method may include monitoring contents ofcommunications between a first user and a second user, determining adegree of closeness between the first user and the second user utilizingan ontological model, with the degree of closeness being based at leastin part on the contents of communications between the first user and thesecond user, and updating the degree of closeness based at least in parton a frequency of communications between the first user and the seconduser.

In another example embodiment, a computer-readable medium may storeinstructions that, when executed, cause one or more processors toperform operations that include establishing an ontological model thatindicates a degree of closeness between a first user and a second user,analyzing a content of a first communication between the first user andthe second user, determining a degree of closeness between the firstuser and the second user using the ontological model and a result of theanalysis, and decaying the degree of closeness between the first userand the second user until an occurrence of a second communicationbetween the first user and the second user.

In yet another example embodiment, a system may comprise a firstcomponent that is configured to determine a degree of closeness betweena first user and a second user utilizing an ontological model, with thedegree of closeness being based at least in part on contents ofcommunications between the first user and the second user, and a secondcomponent that is configured to update the degree of closeness based ona pattern of communications between the first user and the second user.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

In the detailed description that follows, embodiments are described asillustrations only since various changes and modifications will becomeapparent to those skilled in the art from the following detaileddescription. The use of the same reference numbers in different figuresindicates similar or identical items.

FIG. 1 shows an example system configuration by which degrees ofcloseness based on communication contents may be implemented, arrangedin accordance with at least some embodiments described herein;

FIG. 2 shows an example client device on which degrees of closenessbased on communication contents may be implemented, arranged inaccordance with at least some embodiments described herein;

FIG. 3 shows an example processing flow of operations that may beprocessed by a determining component that may be included in anapplication for determining degrees of closeness based on communicationcontents, arranged in accordance with at least some embodimentsdescribed herein;

FIG. 4 shows an example processing flow of operations that may beprocessed by an updating component that may be included in anapplication for determining degrees of closeness based on communicationcontents, arranged in accordance with at least some embodimentsdescribed herein;

FIGS. 5A and 5B show example ontologies for sample dimensions of auser's relationships by which degrees of closeness based oncommunication contents may be implemented, in accordance with at leastsome embodiments described herein; and

FIG. 6 shows a block diagram illustrating an example computing device bywhich various example solutions described herein may be implemented,arranged in accordance with at least some embodiments described herein.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part of the description. In thedrawings, similar symbols typically identify similar components, unlesscontext dictates otherwise. Furthermore, unless otherwise noted, thedescription of each successive drawing may reference features from oneor more of the previous drawings to provide clearer context and a moresubstantive explanation of the current example embodiment. Still, theexample embodiments described in the detailed description, drawings, andclaims are not meant to be limiting. Other embodiments may be utilized,and other changes may be made, without departing from the spirit orscope of the subject matter presented herein. It will be readilyunderstood that the aspects of the present disclosure, as generallydescribed herein and illustrated in the drawings, may be arranged,substituted, combined, separated, and designed in a wide variety ofdifferent configurations, all of which are explicitly contemplatedherein.

As referenced throughout the present description, an “ontological model”may refer to a schema for representing people and/or entities that areidentified or otherwise documented with an online service provider ashaving a relationship with a subscriber to at least one cloud-basedservice. An ontological model may include a set of representationalterms that associate names of people and/or entities that have arelationship with the subscriber, and axioms may be further provided toconstrain an interpretation and use of the descriptions. Thus, anontological model may be regarded as a statement of a logical theory,and an axiom may define a relationship between two concepts with respectto the subscriber in the ontological model.

FIG. 1 shows an example system configuration 100 by which degrees ofcloseness based on communication contents may be implemented, arrangedin accordance with at least some embodiments described herein. Asdepicted, configuration 100 includes, at least, a client device 104 withan instance of a client application 106 hosted thereon, and an onlineservice provider 108. A user 102, who may alternately be referred to asa subscriber, may be regarded as a person or entity that exercisesownership or control of client device 104. People and/or entities112A-112N may be regarded as people or entities with whom user 102 has arelationship that is registered or documented with the online serviceprovider 108. Non-limiting examples of entities that may be representedby user 102 or entities 112A-112N may include one or more organizations(e.g., corporation, university, charity, etc.) on behalf of which anonline relationship may be established and maintained by a moderator,webmaster, etc., who conduct online activity on behalf of the respectiveentity. Such examples are not intended to be limiting in any manner,including as pertaining to a number of people and/or entities depicted,and therefore should not be interpreted to be so. Still, exampleembodiments described herein are likely to pertain to relationships thatare established between people; and therefore, unless a distinction ofpeople/entities 112A-112N is needed to enhance the description fordegrees of closeness based on communication contents, general referencesmay be made herein to “people 112.”

Client device 104 may refer to a processor-based electronic device onwhich an instance of client application 106 may be hosted to determinedegrees of closeness based on communication contents. Further, clientdevice 104 may be configured to transmit and receive data over a link toservice provider 108 by further connecting to a mobile communicationsnetwork provided by a wireless service provider (not shown). Clientdevice 104 may be implemented as a mobile (or portable) electronicdevice such as a mobile phone, cell phone, smartphone, personal dataassistant (PDA), a personal media player device, an application specificdevice, or a hybrid device that includes any of the above functions.Client device 104 may also be implemented as a personal computerincluding tablet, laptop computer, and non-laptop computerconfigurations, which may be connected to the aforementioned mobilecommunications network or, alternatively, to a wired network.

The aforementioned wireless service provider for implementingcommunications for client device 104 may also be known as a mobilenetwork carrier, wireless carrier, or even cellular company. Regardlessof the alternate reference, the wireless service provider may provideservices for mobile communications subscribers. Client device 104 may beconfigured to communicate with online service provider 108 or any ofpeople 112, some or all of whom may similarly communicate with eachother. Further, client device 104 may be configured to communicate withany of people 112 directly in a peer-to-peer networking environment.

Client application 106 may refer to a program implemented by hardware,software, firmware, or any combination thereof that may be utilized todetermine degrees of closeness based on communication contents. Clientapplication 106 may be included in or otherwise integrated withtransactional software (not shown). That is, client application 106hosted on client device 104 may enable client device 104 to engage withonline service provider 108 or, alternatively, any of people 112. Clientapplication 106 may facilitate user interaction with at least onlineservice provider 108 and/or any of people 112. Further, at least someembodiments for determining degrees of closeness based on communicationcontents may contemplate client application 106 representing a webbrowser that is configured to facilitate user interaction with at leastonline service provider 108 and/or any of people/entities 112. Furtherstill, client application 106, or a modified version thereof, may behosted on a client device corresponding to any of people 112, as well,in order to determine degrees of closeness based on communicationcontents for a respective one of people 112.

Online service provider 108 may be regarded as a cloud-based service andstorage platform that may be owned and/or operated by a third-partyservice provider. Online service provider 108 may include a framework ofhardware, software, firmware, or any combination thereof, through whichor to which digital data and information may be stored, passed, orshared with regard to a transaction for which at least one subscriber tothe hosted service, including client device 104, is a party. By way ofexample, online service provider 108 may be implemented as a socialnetworking service to which user 102 and people 112 register prior touse. Non-limiting examples of online service provider 108 may includeFacebook®, Google+®, Twitter®, Linkedin®, Yammer®, etc.

Communication link 110 may refer to a communication link enabled by aprotocol utilized to transmit data and/or information between clientapplication 106, via client device 104, and online service provider 108.

Communication links 114A-114N may refer to communication links enabledby a protocol utilized to facilitate communication between client device104 under the ownership or control of user 102, via online serviceprovider 108, and a client device that is owned or controlled by any oneof people 112, respectively.

The aforementioned protocols referring to communication links 110 and114A-114N may include any mobile communications technology, e.g., GSM(Global System for Mobile Communications), CDMA (Code Division MultipleAccess), etc., depending upon the technologies supported by particularwireless service providers to whose services client device 104, onlineservice provider 108, and people 112 may be assigned or subscribed.Further, one or more of the aforementioned communication links 110 and114A-114N may be implemented utilizing non-cellular technologies such asconventional analog AM or FM radio, Wi-Fi™, WLAN (wireless local areanetwork) or IEEE 802.11 (Institute of Electrical and ElectronicsEngineers), WiMAX™ (Worldwide Interoperability for Microwave Access),Bluetooth™, hard-wired connections, e.g., cable, phone lines, and otheranalog and digital wireless voice and data transmission technologies.

Thus, FIG. 1 shows an example implementation of a system configurationfor determining degrees of closeness based on communication contents.

FIG. 2 shows an example client device 104 on which degrees of closenessbased on communication contents may be implemented, arranged inaccordance with at least some embodiments described herein. As depicted,example configuration 200 of client application 106, hosted on clientdevice 104, may include a monitoring component 202, a determiningcomponent 204, and an updating component 206.

Client application 106 may refer to a program implemented by hardware,software, firmware, or any combination thereof that may be utilized todetermine degrees of closeness based on communication contents. To thatend, client application 106 may be included in or otherwise integratedwith transactional software (not shown). That is, client application 106hosted on client device 104 may enable client device 104 to engage withonline service provider 108 or, alternatively, any of people 112. Clientapplication 106 may facilitate user interaction with at least onlineservice provider 108 and/or any of people 112. Further, at least someembodiments for determining degrees of closeness based on communicationcontents may contemplate client application 106 representing a webbrowser that is configured to facilitate user interaction with at leastonline service provider 108 and/or any of people 112. Further still,client application 106, or a modified version thereof, may be hosted ona client device owned or controlled by any of people 112, as well, inorder to determine degrees of closeness based on communication contentsfor a respective one of people 112.

Monitoring component 202 may refer to a component or module of clientapplication 106 that is designed, programmed, or configured to monitorcontents of any communications between user 102 and people 112 within adesignated period of time.

Monitoring component 202 may monitor contents of communicationsinvolving user 102, within the designated period of time, by scanningtext transmissions that user 102 transmits and receives via clientapplication 106, by transcribing conversations that user 102 conductsvia client application 106, and/or by transcribing audio files that areplayed on client device 104 after having been transmitted or receivedvia client application 106. Monitoring component 202 may thereforeutilize known mechanisms, programs, and/or techniques to facilitate suchscanning and transcription.

Determining component 204 may refer to a component or module of clientapplication 106 that is designed, programmed, or configured to determinea degree of closeness between user 102 and those of people 112 with whomuser 102 has communicated within the designated period of time, and ofwhich the communications have been monitored by monitoring component202. Determining component 204 may determine the respective degrees ofcloseness between user 102 and respective ones of people 112 by mappingthe contents of the respective monitored communications onto anontological model for user 102.

An ontological model that may be utilized to determine a degree ofcloseness between user 102 and one or more of people 112 may be one ormore private ontologies defined and hosted on client device 104. Theprivate ontologies for user 102 may be defined by or on behalf of user102, or the private ontologies for user 102 may be imported onto clientdevice 104 from an external source. Subsequent references to theontological model utilized on client device 104, for user 102, mayinclude “private ontologies” and/or “private ontological model.”

Alternative embodiments of degrees of closeness may contemplate the oneor more private ontologies being defined and/or hosted by serviceprovider 108, and such embodiments may be similarly implemented asdescribed herein. However, prudence and privacy interests may render itpreferable to keep the embodiments on the client device.

The private ontologies for user 102 may include nodes and axioms. Nodesmay refer to concepts that define relationship concepts for user 102.Non-limiting examples of nodes for the private ontologies for user 102may include “personal information,” “family information,” “careerinformation,” “education information,” “spouse,” “child,” “sibling,”“friend,” “significant other,” “boss,” “colleague,” “direct report,”“client,” “classmate,” “teacher,” “student,” etc. The private ontologiesmay include a combination of such example node headings or titles inaddition to nodes with headings or titles that include specific names.Sample headings or titles of such nodes may include, but in no way to belimited to, names of individuals, names of companies, names of schoolsand/or universities, etc. Further still, the ontological model for user102 may include multiple private ontologies, each pertaining to aparticular relational “dimension” for user 102, such as non-limitingexamples “family relationships,” “personal relationships,” and/or“professional relationships.” Axioms may be understood to define arelationship between two nodes of the private ontologies for user 102.

Determining component 204 may therefore be designed, programmed, orconfigured to map the scanned and/or transcribed contents ofcommunications involving user 102 and one or more of people 112 onto theprivate ontologies for user 102. Unless a distinction is necessary forthe present description, the scanned and/or transcribed communicationsinvolving user 102 and one or more of people 112 may be collectivelyreferenced as “communications.”

Determining component 204 may analyze the scanned or transcribedcommunications between user 102 and any one of people 112 by dividing orsegmenting the scanned or transcribed communication contents intosentences, and further determine whether one or more words in each ofthe respective sentences connect two linked nodes in the privateontologies. Any such affirmatively determined words may be mapped ontothe private ontologies.

To implement the mapping, determining component 204 may determinewhether or not information conveyed in each mapped sentence is deduciblefrom the private ontologies or is inconsistent with the privateontologies. To do so, determining component 204 may identify a set of aminimal number of relational axioms, defining a relationship between twonodes, from the relational axioms in the private ontologies that maysatisfy a justification for deducibility. A respective value ofcontribution to a degree of closeness in each of a multiple number ofdimensions of relationship for user 102 may be calculated for the set ofminimal number of relational axioms. However, if there are no words in asentence from any of the respective communications that may beaffirmatively determined to connect any of the nodes in the privateontologies, the words may be deemed to be irrelevant.

If it is determined that the information conveyed in a respective mappedsentence from a communication between user 102 and a particular one ofpeople 112 is deducible from the private ontologies, the degree ofcloseness between user 102 and the particular one of people 112 may beincreased by a predefined increment. However, if it is determined thatthe information conveyed in the respective mapped sentence is notdeducible from the private ontologies, the degree of closeness betweenuser 102 and the particular one of people 112 may decrease by thepredefined increment. Subsequently, the values of contribution to adegree of closeness associated with the set of minimal number ofrelational axioms in the multiple number of dimensions of relationshipfor user 102 may be compiled, or summed, to thus determine a degree ofcloseness between user 102 and a respective one of people 112.

Updating component 206 may refer to a component or module of clientapplication 106 that is designed, programmed, or configured to updatethe respective degrees of closeness between user 102 and respective onesof people 112 based at least in part on a frequency of communicationsbetween user 102 and respective ones of people 112 within the designatedperiod of time.

In accordance with at least one example embodiment, updating component206 may update the compiled or summed values of contribution to thedegree of closeness associated with the set of minimal number ofrelational axioms with a frequency and an amount of elapsed time betweenuser 102 and respective ones of people 112. The updating may includedegrading, or decaying, a determined degree of closeness between user102 and a respective one of people 112 if there is no communicationtherebetween during the predetermined period of time or until a nextcommunication therebetween occurs. In the latter scenario, thedetermined degree of closeness between user 102 and a respective one ofpeople 112 may automatically be implemented upon completion of eachcommunication therebetween. For example, to calculate the degree ofcloseness between two friends, Tom and Jerry, the predetermined periodof time may be set to be one month. If the two friends have notcommunicated with each other for that period of time, the updating maydegrade or decay the degree of closeness between Tom and Jerry.Alternatively, without setting a predetermined period of time, thedetermined degree of closeness may be calculated and updated upon Tomand Jerry's next communication. In this example, the length of the timeperiod since Tom and Jerry's last communication may be taken intoconsideration for calculating the degree of closeness.

Thus, FIG. 2 shows an example configuration of service provider 108 bywhich one or more embodiments of transactional permissions may beimplemented.

FIG. 3 shows an example processing flow 300 of operations that may beprocessed by a determining component that may be included in anapplication for determining degrees of closeness based on communicationcontents, arranged in accordance with at least some embodimentsdescribed herein. As depicted, processing flow 300 includessub-processes that may be executed by various components of determiningcomponent 204, as described above with reference to the example clientapplication 106. However, processing flow 300 is not limited to suchcomponents, as obvious modifications may be made by re-ordering two ormore of the sub-processes described here, eliminating at least one ofthe sub-processes, adding further sub-processes, substitutingcomponents, or even having various components assuming sub-processingroles accorded to other components in the following description.Processing flow 300 may include various operations, functions, oractions as illustrated by one or more of blocks 302, 304, and/or 306.Processing may begin at block 302.

Block 302 (Establish Ontological Model) may refer to private ontologiesfor user 102 being defined on client device 104 utilizing a userinterface that may or may not be incorporated into client application106. The private ontologies for user 102 may be defined by or on behalfof user 102, or the private ontologies for user 102 may be imported ontoclient device 104 from an external source. As set forth above, theprivate ontologies for user 102 may include nodes and axioms. Nodes mayrefer to concepts that define relationship concepts for user 102 andaxioms may be understood to define a relationship between two nodes ofthe private ontologies for user 102. Processing may proceed from block302 to block 304.

Block 304 (Analyze Contents of Communications) may refer to determiningcomponent 204 analyzing the scanned or transcribed communicationsbetween user 102 and respective ones of people 112. The analysis mayinclude dividing or segmenting the scanned or transcribed words intosentences, and further determining whether one or more of words in eachof the respective sentences connect two linked nodes in the privateontologies. Any such affirmatively determined words may be mapped ontothe private ontologies in order for the respective degrees of closenessbetween user 102 and the respective ones of people 112 to be determined.

The aforementioned analysis at block 304 may include determining whetheror not information conveyed in each mapped sentence is deducible fromthe private ontologies or is inconsistent with the private ontologies.To do so, determining component 204 may identify a set of a minimalnumber of relational axioms from the relational axioms in each of theprivate ontologies that may satisfy a justification for deducibility. Arespective value of contribution to a degree of closeness in each of amultiple number of dimensions of relationship for user 102 may becalculated for the set of minimal number of relational axioms. However,if there are no words in a sentence from any of the respectivecommunications that may be affirmatively determined to connect any ofthe nodes in the respective private ontologies, the words may be deemedto be irrelevant. Processing may proceed from block 304 to block 306.

Block 306 (Determine Degree of Closeness) may refer to determiningcomponent determining a degree of closeness between user 102 andrespective ones of people 112. If the analysis at block 304 reveals thatinformation conveyed in a respective mapped sentence is deducible fromone of the private ontologies, a point may be added for calculating thedegree of closeness between user 102 and a respective one of people 112,of which the mapped sentence is included in a correspondingcommunication. If the analysis at block 304 reveals that the informationconveyed in the respective mapped sentence is not deducible from one ofthe private ontologies, a point may be subtracted for calculating thedegree of closeness between user 102 and the particular one of people112. Subsequently, the values of contribution to a degree of closenessassociated with the set of minimal number of relational axioms in themultiple number of dimensions of relationship for user 102 may becompiled, or summed, to thus determine a degree of closeness betweenuser 102 and a respective one of people 112.

Thus, FIG. 3 shows an example processing flow 300 by which degrees ofcloseness based on communication contents may be determined.

FIG. 4 shows an example processing flow 400 of operations that may beprocessed by an updating component that may be included in anapplication for determining degrees of closeness based on communicationcontents, arranged in accordance with at least some embodimentsdescribed herein. As depicted, processing flow 400 includessub-processes that may be executed by various components of updatingcomponent 206, as described above with reference to the example clientapplication 106. However, processing flow 400 is not limited to suchcomponents, as obvious modifications may be made by re-ordering two ormore of the sub-processes described here, eliminating at least one ofthe sub-processes, adding further sub-processes, substitutingcomponents, or even having various components assuming sub-processingroles accorded to other components in the following description.Processing flow 400 may include various operations, functions, oractions as illustrated by one or more of blocks 402, 404, and/or 406.Processing may begin at block 402.

Block 402 (Reduce Degree of Closeness) may refer to updating component206 automatically degrading, or decaying, a determined degree ofcloseness between user 102 and a respective one of people 112 upon thepassage of a predetermined period of time. The degradation, or decaying,may be implemented by at least one incremental degree, e.g., a point,upon the passage of each predetermined period of time. For example, asto the two friends, Tom and Jerry, the determined degree closeness maybe one hundred points and the predetermined period of time may be set asone month. One point may be deducted from the initial one hundred pointsupon the passage of every one month. Thus, in keeping with the example,when Tom and Jerry have not communicated with each other for ninemonths, the degree of closeness of Tom and Jerry may be calculated to beninety one points indicating that they are not as close as before.

Block 404 (Check for New Communication) may refer to updating component206 determining whether another communication has occurred between user102 and the respective one of people 112 within the predetermined periodof time. If another such communication is determined to have notoccurred, processing may proceed from decision block 404 back to block402. If another such communication is determined to have occurred,processing may proceed from decision block 404 to block 406.

Block 406 (Reevaluate Degree of Closeness) may refer to updatingcomponent 206 determining that another communication has occurredbetween user 102 and the respective one of people 112 within thepredetermined period of time, and therefore the degradation/decaying ofthe degree of closeness therebetween may cease, at least temporarily.Determining component 204 may analyze the scanned or transcribedcommunication between user 102 and the respective one of people 112 andfurther calculate the value of the contribution of this communication tothe degree of closeness. Upon the completion of the communication,updating component 206 may then update the degree of closeness, wherethe degree of closeness may increase or decrease depending on the resultof determining component 204. In the case that unexpected detailsregarding user 102 appear in the recent communication, the degree ofcloseness may increase upon the completion of the communication after apredetermined period of time. Since monitoring component 202 may notinclude all information with regard to user 102, it may be possibleother communications have occurred outside the monitored communicationcontents. For example, when, according to the monitoring component 202,Tom and Jerry have not talked to each other for months, however, in themost recent communication, Jerry said “Tom, the turkey you made lastweek was amazing, come to my house for Thanksgiving next year.” Theunexpected detail indicating that they spent Thanksgiving together mayincrease the degree of closeness between Tom and Jerry even when itappears on the monitored record they have not contacted each other formonths.

Thus, FIG. 4 shows an example processing flow 400 by which degrees ofcloseness based on communication contents may be updated.

FIGS. 5A and 5B show example ontologies 500 and 501, respectively, forsample dimensions of a user's relationships by which degrees ofcloseness based on communication contents may be implemented, inaccordance with at least some embodiments described herein.

FIG. 5A shows a private ontology 500 created for the personal dimensionof relationships for user 102. Such dimension may be determined by therelationship between user 102 and one or more of people 112.

As depicted, a private ontology for user 102 may include nodes andaxioms. Nodes may refer to concepts that define relationship conceptsfor user 102. Non-limiting examples of nodes for the private ontologyfor user 102 may include “personal information,” “family information,”“career information,” “education information,” “spouse,” “child,”“sibling,” “friend,” “significant other,” “boss,” “colleague,” “directreport,” “client,” “classmate,” “teacher,” “student,” etc. As depicted,“personal information” 504A may include “hobbies” 504B, “medicalhistory” 504C, and “golfing” 504N; “family information” 506A may include“children” 506B, “spouse” 506C, “daughter” 506D, “daughter's age” 506E,and “daughter's education” 506F; and “professional information” 508A mayinclude “career information” 508B, “education” 508C and “direct report”508N, which are placed on the nodes of the ontology 500.

Each axiom may be assigned a private degree marked as “d_(personal)” inprivate ontology 500. The private ontology may include a combination ofsuch example node headings or titles in addition to nodes with headingsor titles that include specific names. Sample headings or titles of suchnodes may include, but in way be limited to, names of individuals, namesof companies, names of schools and/or universities, etc. Each scanned ortranscribed communications between user 102 and a respective one ofpeople 112, after being divided or segmented, may be placed along acombination of certain nodes and axioms. For instance, when theconversation contents between user 102 and a friend includes an examplesentence such as, “Tom, how is your daughter doing in kindergarten,” thesentence may be first divided or segmented into a series of meaningfulwords including “Tom's daughter,” “daughter in kindergarten.” Suchsegments may be mapped on private ontology 500. For example, thesegments may be mapped to “family information” 506A, “children” 506B,“daughter” 506D, “daughter's age” 506E, and “daughter's education” 506F.As depicted in private ontology 500, a sentence providing suchinformation may be mapped on a longer branch having more axioms andnodes than another sentence simply containing the information that user102 has children, e.g., “Tom, how many kids do you have?”. Suchsentence, thus, further indicates a higher degree of closeness with user102 than the latter.

Axioms may be understood to define a relationship between two nodes ofthe private ontologies for user 102, and each axiom may be assigned aprivate degree in determining the closeness value of a given piece ofthe scanned or transcribed communications. At least in one embodiment,the private degree for each axiom may be determined by the parametersincluding maximum distance in the ontology, a pre-selected number of keynodes from a pre-determined corpus, and the pre-selected number. Apre-determined corpus may be based on semantics study or existingdatabase.

With regard to a respective one of people 112, the private degree may becalculated in one or more dimensions since a same piece of informationincluded in communication contents may represent a different privatedegree in different dimensions, i.e., when communicating with peoplewithin a different relationship dimension. For instance, when user 102is communicating with a colleague, a private ontology may be created forthe professional dimension of relationships for user 102, for which theprivate degrees are to be calculated accordingly. However, if user 102is communicating with a cousin, the private degree may be determinedbased on the ontology created in family dimension of relationships foruser 102. Further, if a professional colleague of user 102 is also afamily member, e.g., cousin, the private ontologies for determining theprivate degree based on one piece of the communication may be created inboth personal and professional dimensions for user 102 because, forexample, when a conversation therebetween includes a mentions of achildhood nickname for user 102, which may increase the private degreeof the relationship in the private ontologies for the professionaldimension but decrease the degree of relationship in the privateontology for the family dimension.

Thus, FIG. 5A shows a private ontology created in personal dimension bywhich an example of degrees of closeness based on communication contentsmay be implemented.

FIG. 5B shows an ontology created in family dimension 501, as the resultof establishing the ontological model at block 302 (FIG. 3), by which anexample of degrees of closeness based on communication contents may beimplemented, in accordance with at least some embodiments describedherein. Such dimension may be determined by the relationship betweenuser 102 and one or more of people 112. In this example, the ontologycreated in family dimension 501 may be applied to communications betweenuser 102 and a family member among people 112.

As depicted, similar to FIG. 5A, a private ontology for user 102 mayinclude nodes and axioms. Nodes may refer to concepts that definerelationship concepts for user 102. Non-limiting examples of nodes forthe private ontologies for user 102 may include “personal information,”“family information,” “career information,” “education information,”“spouse,” “child,” “sibling,” “friend,” “significant other,” “boss,”“colleague,” “direct report,” “client,” “classmate,” “teacher,”“student,” etc. As depicted, “personal information” 505A may include“hobbies” 505B, “medical history” 505C, and “golfing” 505N; “familyinformation” 507A may include “children” 507B, “spouse” 507C, “daughter”507D, “daughter's age” 507E, and “daughter's education” 507F; and“professional information” 509A may include “career information” 509B,“education” 509C and “direct report” 509N, as nodes for private ontology501.

Each axiom may be assigned a private degree marked as “d family” in theontology 501. Private ontology 501 may include a combination of suchexample node headings or titles in addition to nodes with headings ortitles that include specific names. Sample headings or titles of suchnodes may include, but in way be limited to, names of individuals, namesof companies, names of schools and/or universities, etc. Each scanned ortranscribed communications between user 102 and a respective one ofpeople 112, after being divided or segmented, may be placed along acombination of certain nodes and axioms. With the same example given inthe description of FIG. 5A, “Tom, how is your daughter doing in thekindergarten,” the segments of the example may be mapped in the same wayof the ontology in personal dimension. However, since private ontology501 is created for family dimension of relationships for user 102, theresult of private degree calculation may vary since the information thatTom's daughter is in kindergarten may be generally known to Tom's familymember and, thus, indicates less closeness value.

Axioms may be understood to define a relationship between two nodes ofthe private ontologies for user 102, each axiom being assigned a privatedegree in determining the closeness value of a given piece of thescanned or transcribed communications. In at least one embodiment, theprivate degree for each axiom may be determined by the parametersincluding maximum distance in the ontology, a pre-selected number of keynodes from a pre-determined corpus, and the pre-selected number. Apre-determined corpus may be based on semantics study or existingdatabase. At least in one embodiment, once the ontology in a certaindimension is created, the calculation process of private degree may besimilar to the process in other dimension. Notably, the specificalgorithm may vary from dimension to dimension.

Thus, FIG. 5B shows a private ontology created for the family dimensionof relationships for user 102, by which an example of degrees ofcloseness based on communication contents may be implemented.

FIG. 6 shows a block diagram illustrating an example computing device bywhich various example solutions described herein may be implemented,arranged in accordance with at least some embodiments described herein.

More particularly, FIG. 6 shows an illustrative computing embodiment, inwhich any of the processes and sub-processes described herein may beimplemented as computer-readable instructions stored on acomputer-readable medium. The computer-readable instructions may, forexample, be executed by a processor of a device, as referenced herein,having a network element and/or any other device corresponding thereto,particularly as applicable to the applications and/or programs describedabove corresponding to the configuration 100 for transactionalpermissions.

In a very basic configuration, a computing device 600 may typicallyinclude one or more processors 604 and a system memory 606. A memory bus608 may be used for communicating between processor 604 and systemmemory 606.

Depending on the desired configuration, processor 504 may be of any typeincluding but not limited to a microprocessor (μP), a microcontroller(μC), a digital signal processor (DSP), or any combination thereof. Theprocessor 604 may include one or more levels of caching, such as a levelone cache 610 and a level two cache 612, a processor core 614, andregisters 616. An example processor core 614 may include an arithmeticlogic unit (ALU), a floating point unit (FPU), a digital signalprocessing core (DSP Core), or any combination thereof. An examplememory controller 618 may also be used with the processor 604, or insome implementations the memory controller 618 may be an internal partof the processor 604.

Depending on the desired configuration, system memory 606 may be of anytype including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof. System memory 606 may include an operating system 620, one ormore applications 622, and program data 624.

Application 622 may be configured to transmit or receive identificationinformation pertaining to client device 104 or authorizing entity 112verify or validate such identifying data, and transmit device data asdescribed previously with respect to FIGS. 1-5. Program data 624 mayinclude a table 650, which may be useful for implementing actuation ofappropriate components or modules as described herein.

System memory 606 is an example of computer storage media. Computerstorage media may include, but not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich may be used to store the desired information and which may beaccessed by computing device 600. Any such computer storage media may bepart of computing device 600.

The network communication link may be one example of a communicationmedia. Communication media may typically be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and may include any information delivery media. A “modulateddata signal” may be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), microwave,infrared (IR) and other wireless media. The term computer readable mediaas used herein may include both storage media and communication media.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software can become significant) a design choicerepresenting cost vs. efficiency tradeoffs. There are various vehiclesby which processes and/or systems and/or other technologies describedherein may be implemented, e.g., hardware, software, and/or firmware,and that the preferred vehicle may vary with the context in which theprocesses and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation; or, yet again alternatively, theimplementer may opt for some combination of hardware, software, and/orfirmware.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes for system configuration 100 via the use ofblock diagrams, flowcharts, and/or examples. Insofar as such blockdiagrams, flowcharts, and/or examples contain one or more functionsand/or operations, it will be understood by those within the art thateach function and/or operation within such block diagrams, flowcharts,or examples can be implemented, individually and/or collectively, by awide range of hardware, software, firmware, or virtually any combinationthereof. In one embodiment, several portions of the subject matterdescribed herein may be implemented via Application Specific IntegratedCircuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signalprocessors (DSPs), or other integrated formats. However, those skilledin the art will recognize that some aspects of the embodiments disclosedherein, in whole or in part, can be equivalently implemented inintegrated circuits, as one or more computer programs running on one ormore computers, e.g., as one or more programs running on one or morecomputer systems, as one or more programs running on one or moreprocessors, e.g., as one or more programs running on one or moremicroprocessors, as firmware, or as virtually any combination thereof,and that designing the circuitry and/or writing the code for thesoftware and/or firmware would be well within the skill of one of skillin the art in light of this disclosure. In addition, those skilled inthe art will appreciate that the mechanisms of the subject matterdescribed herein are capable of being distributed as a program productin a variety of forms, and that an illustrative embodiment of thesubject matter described herein applies regardless of the particulartype of signal bearing medium used to actually carry out thedistribution. Examples of a signal bearing medium include, but are notlimited to, the following: a recordable type medium such as a floppydisk, a hard disk drive, a CD, a DVD, a digital tape, a computer memory,etc.; and a transmission type medium such as a digital and/or an analogcommunication medium (e.g., a fiber optic cable, a waveguide, a wiredcommunications link, a wireless communication link, etc.).

Those skilled in the art will recognize that it is common within the artto describe devices and/or processes in the fashion set forth herein,and thereafter use engineering practices to integrate such describeddevices and/or processes into data processing systems. That is, at leasta portion of the devices and/or processes described herein can beintegrated into a data processing system via a reasonable amount ofexperimentation. Those having skill in the art will recognize that atypical data processing system generally includes one or more of asystem unit housing, a video display device, a memory such as volatileand non-volatile memory, processors such as microprocessors and digitalsignal processors, computational entities such as operating systems,drivers, graphical user interfaces, and applications programs, one ormore interaction devices, such as a touch pad or screen, and/or controlsystems including feedback loops and control motors, e.g., feedback forsensing position and/or velocity; control motors for moving and/oradjusting components and/or quantities. A typical data processing systemmay be implemented utilizing any suitable commercially availablecomponents, such as those typically found in datacomputing/communication and/or network computing/communication systems.

The herein described subject matter sometimes illustrates differentcomponents contained within, or connected with, different othercomponents. It is to be understood that such depicted architectures aremerely examples, and that in fact many other architectures can beimplemented which achieve the same functionality. In a conceptual sense,any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality can be seen as “associated with” each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected”, or“operably coupled”, to each other to achieve the desired functionality,and any two components capable of being so associated can also be viewedas being “operably couplable”, to each other to achieve the desiredfunctionality. Specific examples of operably couplable include but arenot limited to physically mateable and/or physically interactingcomponents and/or wirelessly interactable and/or wirelessly interactingcomponents and/or logically interacting and/or logically interactablecomponents.

Lastly, with respect to the use of substantially any plural and/orsingular terms herein, those having skill in the art can translate fromthe plural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims, e.g., bodies of theappended claims, are generally intended as “open” terms, e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc. It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an,” e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more;” the same holds true for the use of definite articlesused to introduce claim recitations. In addition, even if a specificnumber of an introduced claim recitation is explicitly recited, thoseskilled in the art will recognize that such recitation should beinterpreted to mean at least the recited number, e.g., the barerecitation of “two recitations,” without other modifiers, means at leasttwo recitations, or two or more recitations. Furthermore, in thoseinstances where a convention analogous to “at least one of A, B, and C,etc.” is used, in general such a construction is intended in the senseone having skill in the art would understand the convention, e.g., “asystem having at least one of A, B, and C” would include but not belimited to systems that have A alone, B alone, C alone, A and Btogether, A and C together, B and C together, and/or A, B, and Ctogether, etc. In those instances where a convention analogous to “atleast one of A, B, or C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention, e.g., “a system having at least one of A, B, or C” wouldinclude but not be limited to systems that have A alone, B alone, Calone, A and B together, A and C together, B and C together, and/or A,B, and C together, etc. It will be further understood by those withinthe art that virtually any disjunctive word and/or phrase presenting twoor more alternative terms, whether in the description, claims, ordrawings, should be understood to contemplate the possibilities ofincluding one of the terms, either of the terms, or both terms. Forexample, the phrase “A or B” will be understood to include thepossibilities of “A” or “B” or “A and B.”

From the foregoing, it will be appreciated that various embodiments ofthe present disclosure have been described herein for purposes ofillustration, and that various modifications may be made withoutdeparting from the scope and spirit of the present disclosure.Accordingly, the various embodiments disclosed herein are not intendedto be limiting, with the true scope and spirit being indicated by thefollowing claims.

We claim:
 1. A method to determine relationship closeness between onlineservice users, the method comprising: accessing an ontology of a firstuser of one or more online services, wherein the ontology includes oneor more nodes representing one or more relationship concepts; analyzinga first content of a first communication between the first user and asecond user of the one or more online services by segmenting the firstcontent into one or more sentences, one of the one or more sentencesincluding one or more words; mapping the one or more words of the firstcontent onto the one or more nodes to indicate one or more mapped nodes;and determining, based at least on the one or more mapped nodes, arelationship closeness value between the first user and the second user.2. The method of claim 1, further comprising: determining if a secondcommunication occurred between the first user and the second user withina predetermined period of time subsequent to the first communication; ifthe second communication did not occur within the predetermined periodof time subsequent to the first communication, decreasing therelationship closeness value between the first user and the second user;and if the second communication occurred within the predetermined periodof time subsequent to the first communication, determining whether toupdate the relationship closeness value based on a second content of thesecond communication.
 3. The method of claim 1, wherein the determiningthe relationship closeness value between the first user and the seconduser includes determining a number of the one or more mapped nodes. 4.The method of claim 1, wherein the determining the relationshipcloseness value between the first user and the second user includesdetermining that at least two of the one or more mapped nodes arelinked.
 5. The method of claim 1, wherein the determining therelationship closeness value between the first user and the second userincludes determining one or more axioms that define one or morerelationships between the one or more mapped nodes.
 6. The method ofclaim 5, wherein the determining the one or more axioms that define theone or more relationships between the one or more mapped nodes includesdetermining a number of the one or more axioms.
 7. The method of claim1, wherein the first communication between the first user and the seconduser is a text communication.
 8. The method of claim 1, wherein thefirst communication between the first user and the second user is anaudio communication.
 9. The method of claim 1, further comprisingdecreasing the relationship closeness value by at least one incrementaldegree upon passage of each predetermined time period within which therehas been no communication between the first user and the second user.10. A system comprising: a determining component configured to: accessan ontology of a first user of one or more online services, wherein theontology includes one or more nodes representing one or morerelationship concepts, analyze a first content of a first communicationbetween the first user and a second user of the one or more onlineservices by segmenting the first content into one or more sentences, oneof the one or more sentences including one or more words, map the one ormore words of the first content onto the one or more nodes to indicateone or more mapped nodes, determine, based at least on the one or moremapped nodes, a relationship closeness value between the first user andthe second user, and determine, whether a second communication occurredbetween the first user and the second user within a predetermined periodof time subsequent to the first communication; and an updating componentconfigured to update the relationship closeness value based on a resultof the determine whether a second communication occurred.
 11. The systemof claim 10, wherein responsive to the determining component determiningthat the second communication did not occur within the predeterminedperiod of time after the first communication, the updating component isconfigured to update the relationship closeness value by decreasing therelationship closeness value between the first user and the second user.12. The system of claim 10, wherein the determining component is furtherconfigured to determine whether to update the relationship closenessvalue based on a second content of the second communication responsiveto the determining that that the second communication occurred withinthe predetermined period of time subsequent to the first communication.13. The system of claim 10, wherein the determining component isconfigured to determine a relationship closeness value between the firstuser and the second user by determining a number of the one or moremapped nodes.
 14. The system of claim 10, wherein the determiningcomponent is configured to determine a relationship closeness valuebetween the first user and the second user by determining whether atleast two of the one or more mapped nodes are linked.
 15. The system ofclaim 10, wherein the determining component is configured to determine arelationship closeness value between the first user and the second userby determining one or more axioms that define one or more relationshipsbetween the one or more mapped node, wherein the determining one or moreaxioms includes determining a number of the one or more axioms.
 16. Thesystem of claim 10, wherein the updating component is further configuredto decrease the relationship closeness value by at least one incrementaldegree upon passage of each predetermined time period within which therehas been no communication between the first user and the second user.17. The system of claim 10, further comprising a monitoring componentconfigured to monitor contents of communications regarding the firstuser, wherein each of communications is a text communication or an audiocommunication.
 18. A non-transitory computer readable medium storinginstructions that, when executed, cause one or more processors toperform operations comprising: accessing an ontology of a first user ofone or more online services; analyzing a first content of a firstcommunication between the first user and a second user of the one ormore online services by segmenting the first content into one or moresentences, one of the one or more sentences including one or more words;mapping the one or more words of the first content onto the ontology;determining, based on the mapped ontology, a relationship closenessvalue between the first user and the second user; determining if asecond communication occurred between the first user and the second userwithin a period of time subsequent to the first communication;responsive to a determination that the second communication did notoccur within the period of time subsequent to the first communication,decreasing the relationship closeness value between the first user andthe second user; and responsive to a determination that the secondcommunication occurred within the period of time subsequent to the firstcommunication, determining whether to update the relationship closenessvalue based on a second content of the second communication.
 19. Thenon-transitory computer readable medium of claim 18, wherein the one ormore online services are cloud-based services.
 20. The non-transitorycomputer readable medium of claim 18, wherein the first communicationbetween the first user and the second user is a text communication or anaudio communication.